package com.food.eat.pojo;

import java.util.ArrayList;
import java.util.List;

public class MenuBuilder {


    public static void buildMenu(List<Menu> menus, Menu parent) {
        // 获取当前节点的所有子节点
        List<Menu> children = parent.getChildren();
        for (Menu menu : children) {
            // 添加当前节点到菜单列表中
            menus.add(menu);
            // 递归调用，处理子节点的子节点
            buildMenu(menus, menu);
        }
    }


    public static void main(String[] args) {
        // 创建一些示例菜单项
        Menu root = new Menu(1, "Root");
        Menu child1 = new Menu(2, "Child 1");
        Menu child2 = new Menu(3, "Child 2");
        Menu grandchild1 = new Menu(4, "Grandchild 1");

        // 设置父子关系
        child1.getChildren().add(grandchild1);
        root.getChildren().add(child1);
        root.getChildren().add(child2);

        // 创建一个空的菜单列表
        List<Menu> menuList = new ArrayList<>();

        // 构建菜单列表
        buildMenu(menuList, root);

        // 打印菜单列表

        System.out.println(menuList);

    }


}
